package com.ruoyi.system.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.system.domain.SysStudentRank;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

/**
 * 系统-学生段位Mapper（放在system模块mapper包下）
 */
@Mapper
public interface SysStudentRankMapper extends BaseMapper<SysStudentRank> {
    /**
     * 自定义方法：根据用户ID查询当前段位
     * @param userId 关联sys_user的user_id
     * @return 段位信息
     */
    SysStudentRank selectRankByUserId(@Param("userId") Long userId);

    /**
     * 更新用户经验值
     * @param studentRank 段位对象（含userId和currentExp）
     * @return 影响行数
     */
    int updateStudentRankExp(SysStudentRank studentRank);

    /**
     * 新增：更新用户段位完整信息（与XML中的updateStudentRank方法匹配）
     * @param studentRank 段位对象（含userId、rankLevel、rankSubLevel、currentExp等）
     * @return 影响行数
     */
    int updateStudentRank(SysStudentRank studentRank); // 添加此方法声明
}